When defining metadata information within an application, often many individual pieces of metadata are very similar. For instance, when defining what a data entry page should look like, all metadata definitions of that page may include similar layouts, graphics, titles, etc. Repeatedly defining this information on each individual piece of metadata is not only time consuming, it also leads to maintenance issues if it is found that one of those common pieces will need to change across the entire metadata store.
One standard attempt at solving this problem is to provide a type of inheritance within a metadata store, similar to the inheritance provided by many programming languages. The problem with this approach is that inheritance enforces an “is-a” relationship, where the derived instance “is-a” type of the parent instance. In the case of metadata, this type of hierarchy is often too constraining as it may be desirable to pick and choose multiple characteristics to all be applied to the same metadata instance.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.